Mixed-reality computer systems, including virtual-reality systems and augmented-reality systems, have recently received significant interest for their ability to create immersive experiences for users. Conventional virtual reality (“VR” hereafter) systems create an immersive experience such that a user's entire view is obstructed by a virtual world. VR systems are distinguished from conventional augmented-reality systems that merely augment a real-world view, by overlaying a hologram image in the field of view of the real-world view, for example. Unless specifically stated or unless specifically required, as understood by one of skill in the art, the descriptions herein apply to VR systems or equivalent systems.
VR systems often use one or more on-body devices (e.g., a head-mounted device, a handheld device, etc.), typically including a head-mounted display (“HMD” hereafter). The HMD enables a user to view virtual objects and/or environments. By way of an example, a VR system may display a virtual representation of a scenic vista on a HMD with which the user may interact (e.g., walk around in the VR environment).
VR environments often include virtual representations of VR applications or objects, collectively referred to as VR objects, which are intended to be viewed and/or interacted with by users immersed in the VR environment (e.g., a virtual representation of a computer screen or work of art). In some instances, the VR objects are best experienced from a certain perspective or position (e.g., location, distance, orientation, altitude, etc.) the with respect to the VR objects.
To facilitate optimized interaction with VR objects, users may be required to adjust their position with respect to the VR object to an optimal viewing position with precise movements. Such movements may include virtual walking, physical walking which is tracked and represented in the VR environment, and/or VR teleportation.
In some systems, VR teleportation is enabled and can be effectuated for a user when a user selects a new location in the VR environment to be repositioned. For instance, some systems are configured with input devices that enable a user to cast a virtual ray towards a location where the user wants to be repositioned in the VR environment. When the user selects a location to be repositioned, they are effectively teleported to that location in the VR environment and the VR scenes are regenerated to reflect the user's perspective from that new location. In some instances, the ray that is used to select a new location is directed at an object that the user wants to be positioned next to.
Some VR environments hardcode a set of predetermined viewing positions for the selected objects or other POIs (points of interest) that are identified with the virtual ray. These predetermined viewing positions control where a user will be teleported to when the user selects a POI or other object in the virtual environment, with or without use of the virtual ray. Unfortunately, use of predetermined viewing positions prevents users from being repositioned at optimal/customizable viewing positions for the objects and/or POI that they select in the VR environments. Furthermore, excessive use of fixed teleport locations communicates to users a limited, closed environment which is not intuitive or comfortable for many users. Accordingly, there exists a need to improve systems and methods for providing users with customizable and optimal viewing positions in a VR environment.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.